Emergency Object (EMCY)

EMCY is event-triggered and generated by an internal fault/error situation. This object is transmitted afresh for every error. The last 10 Emergency error codes can be read using object 1003h Pre-defined error field.

Application of the Emergency Object

The reaction in the event of an error or fault depends on the error class and its variable. For this reason, the reaction is described with the aid of an error state machine. The error conditions error-free and error occurred are distinguished. Defined transitions:

Transition 0: After initialization, the error-free status is taken up if no errors are detected.
No error signal is generated in this condition.

Transition 1: The AKD2G detects an internal error and indicates this in the first three bytes of the emergency telegram (error code in Bytes 0,1 and error register in Byte 2).

Transition 2: One error has been reset, but not all. No new MCY telegram is sent. The last MCY telegram still contains data for the last error.

Transition 3: A new error has occurred. The AKD2G remains in the error status and transmits an EMCY Object with the corresponding error code. The new error code is entered into bytes 0 and 1. Byte 3 is updated to indicate the Axis ID and Feedback ID.

Transition 4: All errors have been reset. The EMCY telegram contains the error code 0000. The error register does not indicate any other errors. The manufacture-specific area is set to zero.

Composition of the Emergency Object

The Emergency Object is composed of 8 bytes, divided as follows:

Byte Bit Content
0   Emergency error code
1  
2   Error register (object 1001h)
3 0-3 Axis id
4-7 Feedback id
4   Reserved
5
6
7

 

If an error condition occurs (fault or warning in the drive), the drive broadcasts an Emergency Object one time containing information about the error. Only the first four bytes are relevant in this case, containing the Emergency Error Code (2 bytes), Error Register, and Axis ID/Feedback ID.

Bytes 0 and 1 contain the Emergency Error Code.

Byte 2 indicates if an error is present. A value of 00h means error-free. A value of 01h means an error exists.

Byte 3 contains the Axis ID and Feedback ID of the device in which the error occurred. Bits 0-3 indicate the axis number (1=Axis 1, 2=Axis 2). Bits 4-7 indicate the feedback number (1=FB1, 2=FB2... up to FB5). If the error is not related to any feedback, the Feedback ID will be zero.

The interpretations of the error codes are described in CANopen Error Codes. The error register is defined by object 1001h Error register.

Object 1003h Pre-defined error field reads the error history.

  • Read 1003h Sub 0 to read the number of faults in the fault history.
  • Write to 1003h Sub 0 to clear the fault history.
  • Read 1003h Sub 1 to read the last fault.
  • Read 1003h Sub 2 to read the next to last fault.
  • Etc. up to 1003h Sub Ah

Example

COB-ID 081 response from the drive (node 1) has data 0x01018611.

Bytes 0 and 1 = 0x8611 referring to F6001 “Following error magnitude fault”.

Byte 2 = 0x01 indicating there is an error based on object 1001h.

Byte 3 = 0x01 indicating the error occurred on Axis 1 and it is not related to any feedback input.

Example

COB-ID 081 response from the drive (node 1) has data 0x22017393.

Bytes 0 and 1 = 0x7393 referring to F4117 “SFA communication fault”.


  • The EMCY error code only refers to AKD2G fault codes for Axis 1, even if the error is on Axis 2. The actual fault code on Axis 2 is F4217.

Byte 2 = 0x01 indicating there is an error based on object 1001h Error register.

Byte 3 = 0x22 indicating the error occurred on Axis 2 and Feedback 2.

Resend EMCY Messages

CANOPEN.EMCYRESEND (object 300Bh sub-index 5) is used to change the behavior of EMCY messages. By default, only new faults are issued as EMCY messages when they occur and attempting to clear faults will only send an all clear EMCY message once all faults clear.

If more than one fault is active at the time, some may clear while others remain active, and the controller would have to query the drive to determine which faults are still active.

Setting the parameter to 1 causes the drive to reissue active EMCYs on the axis that was cleared, if any are still active.